package com.myapp.struts.action;

import com.myapp.hibernate.model.Entrada;
import com.myapp.hibernate.model.Usuario;
import com.myapp.hibernate.util.EntradaUtil;
import com.myapp.struts.form.CombatesForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


public class ComprarAction extends org.apache.struts.action.Action {

    private static final String SUCCESS = "success";

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        CombatesForm formulario = (CombatesForm) form;
        Entrada entrada = new Entrada();
        EntradaUtil entradaUtil = new EntradaUtil();
        Usuario usuarioActivo = (Usuario) request.getSession().getAttribute("UsuarioLogado");
        
        entrada.setIdCombate(formulario.getIdCombate());
        entrada.setIdUsuario(usuarioActivo.getIdUsuario());
        //aqui falta asignar asiento, mientras pondremos un 1
        entrada.setNumero(1);
        entrada.setPrecio(formulario.getCombate().getPrecioEntrada());

        entradaUtil.guardar(entrada);
        entrada.enviaEmail(usuarioActivo);
        String ruta = request.getSession().getServletContext().getRealPath("");
        entrada.generarPDF(ruta, usuarioActivo);
        request.getSession().setAttribute("informacion","Compra realizada con exito");
        return mapping.findForward(SUCCESS);
    }
}
